// pages/news/news.js
const api = require('../../utils/api');
const app = getApp();
const constant = require('../../utils/constant');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //获取全局变量 导航栏的高度statusBarHeight
    statusBarHeight: app.globalData.statusBarHeight,
    // 胶囊
    jiaonang: app.globalData.jiaonang, 
    navigationHeight: app.globalData.navigationHeight,
    // 底部菜单高度
    tabbarHeight: app.globalData.tabbarHeight,
    BASEURLWWW:constant.BASEURLWWW,
    // search高度
    searchHeight: 0,
    // 新闻显示
    newsShow: false,
    // 头部标题
    headerTitle: '新闻头条',
    // 新闻详情
    articleDetailData: {},
    // 新闻列表
    articleListData: [],
    // 分页
    pagination:{
      pageNum: 1,  
      pageSize: 10, 
      total: null
    },
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    if (typeof this.getTabBar === 'function' &&
      this.getTabBar()) {
      this.getTabBar().setData({
        selected: 2
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this;
    let query = wx.createSelectorQuery();
    let keyWord = options.keyword;
    // 获取搜索板块高度
    // query.select('#search').boundingClientRect(rect=>{  
    //   that.setData({
    //     searchHeight: rect.height
    //   })
    // }).exec();
    if(options.id){
      // 获取文章详情
      this.getNewsDetailData(options.id);
    }else{
      // 获取文章列表
      this.getNewsListData(this.data.pagination);
    }
  },
  // 获取文章详情
  getNewsDetailData:function(id){
    api.getNewsDetail(id).then(res => {
      if(res.code == 0){
        this.setData({
          newsShow: true,
          headerTitle: res.article_title,
          articleDetailData: res.data.data
        })
      }
    })
  },
  // 获取文章列表
  getNewsListData:function(pagination){
    let articleListData = this.data.articleListData;
    if( articleListData.length == this.data.pagination.total){
      wx.showToast({
        title: '已经没有了~',
        icon: 'none',
        duration: 1500
      })
    }else{
      api.getNewsListData(pagination).then(res => {
        if(res.code == 0){
          if(res.data.total != 0){
            articleListData.push(...res.data.data.list);
            this.setData({
              articleListData,
              'pagination.total': res.data.data.total
            })
          }else{
            this.setData({
              noDataNotice: keyword,
              noDataNoticeStatus: true
            })
            this.getNewsListData(pagiantion);
          }
        }else{
          wx.showToast({
            title: res.msg,
            icon: 'none',
            duration: 1500
          })
        }
      })
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  // 点击搜索框
  jumpToSearch: function() {
    wx.reLaunch({
       url: '/pages/search/search'
     })
   },
   // 返回到首页
  back:function(){
    if(this.data.newsShow){
      if(this.data.articleListData.length <= 0){
        this.getNewsListData(this.data.pagination);
      }
      this.setData({
        newsShow: false,
        headerTitle: '新闻头条'
      })
    }else{
      wx.reLaunch({
        url: '/pages/index/index'
      })
    }
    
  },
  // 滚动到底部
  bindscrolltolower:function(){
    let newsShow = this.data.newsShow;
    if(!newsShow){
      let pagination={
        pageNum: this.data.pagination.pageNum + 1,  
        pageSize: 10
      }
      this.getNewsListData(pagination);
    }
    // let listArr = this.data.list;

  },
  // 新闻详情
  handleNews:function(e){
    let article_id =  e.currentTarget.dataset.id;
    this.getNewsDetailData(article_id);
  }
})